package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品管理对象 product
 * 
 * @author Amanda
 * @date 2025-07-15
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品编号 */
    private Long productId;

    /** 商品名 */
    @Excel(name = "商品名")
    private String productName;

    /** 商品简介 */
    @Excel(name = "商品简介")
    private String productDescription;

    /** 商品原价 */
    @Excel(name = "商品原价")
    private BigDecimal productPrice;

    /** 商品售卖价 */
    @Excel(name = "商品售卖价")
    private BigDecimal productSaleprice;

    /** 商品库存 */
    @Excel(name = "商品库存")
    private Long productStore;

    /** 商品小标签 */
    @Excel(name = "商品小标签")
    private String productTag;

    /** 商品上架状态  0--&gt;下架   1--&gt;上架 */
    @Excel(name = "商品上架状态  0--&gt;下架   1--&gt;上架")
    private Integer productState;

    /** 商品富标签 */
    @Excel(name = "商品富标签")
    private String productContent;

    /** 商品分类编号 */
    @Excel(name = "商品分类编号")
    private Long productCategoryId;

    /** 商品跳转路径 */
    @Excel(name = "商品跳转路径")
    private String productHref;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String productPhoto;

    /** 商品添加时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "商品添加时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime productAddtime;

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setProductDescription(String productDescription) 
    {
        this.productDescription = productDescription;
    }

    public String getProductDescription() 
    {
        return productDescription;
    }

    public void setProductPrice(BigDecimal productPrice) 
    {
        this.productPrice = productPrice;
    }

    public BigDecimal getProductPrice() 
    {
        return productPrice;
    }

    public void setProductSaleprice(BigDecimal productSaleprice) 
    {
        this.productSaleprice = productSaleprice;
    }

    public BigDecimal getProductSaleprice() 
    {
        return productSaleprice;
    }

    public void setProductStore(Long productStore) 
    {
        this.productStore = productStore;
    }

    public Long getProductStore() 
    {
        return productStore;
    }

    public void setProductTag(String productTag) 
    {
        this.productTag = productTag;
    }

    public String getProductTag() 
    {
        return productTag;
    }

    public void setProductState(Integer productState) 
    {
        this.productState = productState;
    }

    public Integer getProductState() 
    {
        return productState;
    }

    public void setProductContent(String productContent) 
    {
        this.productContent = productContent;
    }

    public String getProductContent() 
    {
        return productContent;
    }

    public void setProductCategoryId(Long productCategoryId) 
    {
        this.productCategoryId = productCategoryId;
    }

    public Long getProductCategoryId() 
    {
        return productCategoryId;
    }

    public void setProductHref(String productHref) 
    {
        this.productHref = productHref;
    }

    public String getProductHref() 
    {
        return productHref;
    }

    public void setProductPhoto(String productPhoto) 
    {
        this.productPhoto = productPhoto;
    }

    public String getProductPhoto() 
    {
        return productPhoto;
    }

    public void setProductAddtime(LocalDateTime productAddtime)
    {
        this.productAddtime = productAddtime;
    }

    public LocalDateTime getProductAddtime()
    {
        return productAddtime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("productDescription", getProductDescription())
            .append("productPrice", getProductPrice())
            .append("productSaleprice", getProductSaleprice())
            .append("productStore", getProductStore())
            .append("productTag", getProductTag())
            .append("productState", getProductState())
            .append("productContent", getProductContent())
            .append("productCategoryId", getProductCategoryId())
            .append("productHref", getProductHref())
            .append("productPhoto", getProductPhoto())
            .append("productAddtime", getProductAddtime())
            .toString();
    }
}
